Элементы управления находятся в DLL. То есть мы имеет возможность поместить элемент управления в DLL. Организуется он практически точно также как и обычная DLL за исключением того что класс должен быть порожден от System.Windows.Forms.Control. Смотрим пример:
namespace MyControl
{
using System;
using System.Windows.Forms;
using System.Drawing;
public class HelloWorldControl : System.Windows.Forms.Control
{
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawString("First Control", Font,
new SolidBrush(ForeColor), ClientRectangle);
}
}
}
Bat файл :
csc.exe /target:library /out:MyControl.dll MyControl.cs
Результат сформированная DLL

System.Windows.Forms.Control обеспечивает общее управления для пользовательского элемента. Он может реагировать на ввод пользователя через клавиатуру или мышку. Определяет как будет прорисован элемент управления и его границы. Так же есть класс UserControl от которого то же можно наследовать элементы управления.